<?php
namespace Mob\Model;

use Think\Model;
use Think\Hook;
/**支付模型
 * Class InfoModel
 */
require_once('./Application/Mob/Common/function.php');
class OrdersModel extends Model
{

     /**
     * @param $PayMode  支付模式
     * @param $Money    支付金额
     * @param $Uid      用户ID
     * @param $BusinessSerialno 业务流水号
     * @param $PayDesc 订单描述
     * @return $OrderId 订单ID号码
     * 受理支付
     */
public function AcceptanceOrder($PayMode,$Money,$Uid,$BusinessSerialno,$PayDesc='')
{
	$Order['OrderID']= getOrderSerialno(); //获取订单流水号
	$Order['PayMode']=$PayMode;      //取支付模式
	$Order['Money']=$Money;      //取支付金额
	$Order['CreationUid']=$Uid;  //创建订单人员
	$Order['PayDesc']=$PayDesc; //取描述
	$Order['businessId']=$BusinessSerialno; //取业务流水号

	if (!$Order)
			return false;
		if ($this->add($Order)) {
		return $Order['OrderID'];  //返回一个流水号
		} else {
			return false;
		}



}
/**
     * @param $OrderId  订单ID
     * @param $Uid     创建人ID
     * @return $OrderId 订单ID号码
     * 查询订单
     */
public function QueryOrder($OrderId,$Uid)
{
 $where = array('OrderID'=>$OrderId,'CreationUid'=>$Uid);
 $Order =M("orders");
 return $Order->where($where)->select();

}

     /**
     * @param $obj
     * @return
     * 成功支付调用方法
     */
public function CompleteOrder($obj)
{
	$where['OrderID'] = $obj['orderid']; //拼写where条件
	//print_r($where);

	$data['totalfee'] = $obj['totalfee']; //取实际付款金额
	$data['PayStatus']=1;  //支付成功
	$data['completetime']=getDateTime();   //更新完成时间
	$data['PayMode']=$obj['PayMode'];    //支付模式
	$data['OutSideId']=$obj['OutSideId'];  //第三方流水号
	$Order = M("orders");
	$result = $Order->where($where)->save($data); //执行更新操作
	if(false!=$result) //如果更新成功
	{
    // print_r('true');
	 $Serialno = $Order->where($where)->field("businessId")->find(); //取业务流水号
   // print_r(M()->getLastSql());
	 if($Serialno) //如果可以能取得业务流水号
	 {
	 $Tasks = M("task"); //调用模型
	 $Taskwhere['taskSerialno']=$Serialno['businessId'];  //拼写where条件
	 $TaskData['PayStatus']=1; //更新支付状态为已经支付
	// print_r($Taskwhere);
	 $TaskRs = $Tasks->where($Taskwhere)->save($TaskData); //更新数据
	 if($TaskRs)
	 {
	 return true;
	 }else
	 {
	 return false;
	 }
	 }


	}else
	{
	return false;
	}




}
public function failOrder($obj)
{
 $where['OrderID']= $obj['orderid'];  //拼写where条件
 $data['PayStatus']=$obj['2'];       //更新支付状态为失败
 $data['OutSideId']=$obj['OutSideId'];  //第三方业务流水号
 $order = M("orders");
 $result = $order->where($where)->save($data);
 return $result;


}

public function isPayOrder($OrderId)
{
 $where['OrderID']= $OrderId;  //拼写where条件
 $where['PayStatus']= array('in','1');  //支付状态1为已支付
 $order= M("orders");   //实例化order模型
 $result = $order->where($where)->find();
 if($result)
 {
 return true;
 }else
 {
 return false;
 }


}

}